package com.logic.landseaserver.service;

import java.util.HashMap;

import com.logic.common.exception.BusinessException;
import com.logic.landseaserver.common.exception.LandseaException;
import com.logic.landseaserver.domain.Contract;
import com.logic.landseaserver.domain.OffrentConfirm;
import com.logic.landseaserver.ws.dto.OffRentContractDTO;
import com.logic.landseaserver.ws.dto.OffrentConfirmDTO;

public interface IOffRent {

    HashMap<String,Object> addOrEditOffrent(com.logic.landseaserver.domain.OffRent offRent) throws LandseaException;

    OffRentContractDTO getOffRent(Integer contractId,String offrentType) throws LandseaException, BusinessException;

    HashMap<String, Object> cancelApplyByContractId(Integer contractId) throws LandseaException;

    void  addPreBill(Integer contractId)throws LandseaException;

    Object queryPreBill(Integer contractId,String billType)throws LandseaException;

    Contract createOffRentBill(Integer contractId)throws LandseaException;

    HashMap<String, Object> uploadOffrentConfirm(OffrentConfirm offrentConfirm) throws LandseaException;

    OffrentConfirmDTO getOffrentConfirm(Integer contractId) throws BusinessException;

    boolean cancelOffRent(Integer contractId) throws LandseaException;

    void addAuthCode(Object object) throws LandseaException, BusinessException;
    
}
